Predicting Runtime Data Dependences for Slice Inspection Prioritization
نویسندگان
چکیده
Data dependences are building blocks for techniques such as program slicing and, thus, are useful for program comprehension and debugging. Unfortunately, static analysis identifies many data dependences that are infeasible or unlikely to occur at runtime. Dynamic analysis, in contrast, does not identify all data dependences that can occur in a program. To address this inaccuracy, we present a new static analysis that predicts the likelihood of occurrence of data dependences to help engineers prioritize their inspection of those dependences. Our preliminary results indicate that our analysis, while having room for improvement, has a promising predictive power.
منابع مشابه
Selective Runtime Memory Disambiguation in a Dynamic Binary Translator
Alias analysis, traditionally performed statically, is unsuited for a dynamic binary translator (DBT) due to incomplete control-flow information and the high complexity of an accurate analysis. Wholeprogram profiling, however, shows that most memory references do not alias. The current technique used in DBTs to disambiguate memory references, instruction inspection, is too simple and can only d...
متن کاملRuntime Address Space Computation for SDSM Systems
This paper explores the benefits and limitations of using a inspector/executor approach for Software Distributed Shared Memory (SDSM) systems. The role of the inspector is to obtain a description of the address space accessed during the execution of parallel loops. The information collected by the inspector will enable the runtime to optimize the movement of shared data that will happen during ...
متن کاملMacro and Micro Perspectives on Strategic Software Quality Assurance in Resource Constrained Environments
Software quality assurance (SQA) plays a key role in software development process. Software quality assurance methods include testing, inspection, formal method (program verification, model checking, etc.), static code analysis, and runtime verification, etc. A disciplined approach to meeting benefit, cost, schedule, and quality constraints is in need. In this paper, we propose two perspectives...
متن کاملIncremental Slicing Based on Data-Dependences Types
Program slicing is useful for assisting with software-maintenance tasks, such as program understanding, debugging, impact analysis, and regression testing. The presence and frequent usage of pointers, in languages such as C, causes complex data dependences. To function effectively on such programs, slicing techniques must account for pointerinduced data dependences. Although many existing slici...
متن کاملEffects of Pointers on Data Dependences
Data dependences, which relate statements that compute data values to statements that use those values, are useful for automating a variety of program-comprehension-related activities, such as reverse engineering, impact analysis, and debugging. Unfortunately, data dependences are difficult to compute and understand in the presence of commonly-used language features such as pointers, arrays, an...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012